package syntax;

//import com.modeliosoft.modelio.javadesigner.annotations.mdl;

import parameters.Parameters;

//import com.modeliosoft.modelio.javadesigner.annotations.objid;

//@objid ("0038babc-beb8-10d9-ac48-082e5f2773a2")
public class Domain implements Cloneable{
    //@objid ("002b4a12-c4be-10d9-ac48-082e5f2773a2")
    private float l_b;
    private static Domain maxUnreachableDomain;

    //@objid ("0045e408-c592-10d9-ac48-082e5f2773a2")
    private float u_b;

    public float getL_b() {
        return l_b;
    }

    public void setL_b(float l_b) {
        this.l_b = l_b;
    }

    public float getU_b() {
        return u_b;
    }

    public void setU_b(float u_b) {
        this.u_b = u_b;
    }

    public Domain(float l_b, float u_b) {
        this.l_b = l_b;
        this.u_b = u_b;
    }

    public static Domain getInfinityUnreachableDomain() {
        if (maxUnreachableDomain == null) {
            maxUnreachableDomain = new Domain(Parameters.getInfinity()+2, Parameters.getInfinity()+2);
        }
        return maxUnreachableDomain;
    }
    
    @Override
    protected Object clone() throws CloneNotSupportedException {
        return new Domain(l_b, u_b); 
    }

    

}
